前兩篇已經將 Sereis 這個資料型態簡單介紹完了,接下來要介紹的是 DataFrame 這個物件,這個是一個用來記錄二維資料的物件,在資料處理上也是相當常用喔!
DataFrame 一樣可以用串列(List)和字典(Dictionary)來建立
lst = [[10, 20, 30],[40, 50, 60]] #二維的串列
data = pd.DataFrame(lst)
print(data)
輸出結果
0 1 2
0 10 20 30
1 40 50 60
dict_ = {'guitar': [2, 3, 4], 'bass': [5, 6, 7], 'keyboard': [8, 9, 10]}
instrument = pd.DataFrame(dict_)
print(instrument)
輸出結果
guitar bass keyboard
0 2 5 8
1 3 6 9
2 4 7 10
instrument.index = ['A', 'B', 'C']
print(instrument)
輸出結果
guitar bass keyboard #可以看到列索引被成功改成A,B,C了
A 2 5 8
B 3 6 9
C 4 7 10
instrument.columns = ['guitar', 'bass', 'cajon']
print(instrument)
輸出結果
guitar bass cajon #可以看到欄索引被成功改成guitar,bass,cajon了
A 2 5 8
B 3 6 9
C 4 7 10
這裡要特別注意和 Series 不一樣的是,DataFrame 的 dtype 函數要記得加 s,變成 dtypes
print(instrument.dtypes)
輸出結果
guitar int64 #可以看到類別為object,每個資料的類別是int
bass int64
cajon int64
dtype: object
print(instrument.index)
輸出結果
Index(['A', 'B', 'C'], dtype='object')
print(instrument.columns)
輸出結果
Index(['guitar', 'bass', 'cajon'], dtype='object')
print(instrument.head(2))
輸出結果
guitar bass cajon #可以看到原本有3筆資料,被提取了前2筆A,B
A 2 5 8
B 3 6 9
print(instrument.tail(1))
輸出結果
guitar bass cajon #可以看到原本有3筆資料,被提取了後1筆C
C 4 7 10
print(instrument.T)
輸出結果
A B C
guitar 2 3 4
bass 5 6 7
cajon 8 9 10
Series 和 DataFrame 很多函數都是通用的,所以各位讀者也可以試試看前面 Series 教過的函數,把它用在 DataFrame 上喔!
下一篇將教大家如何在 Series 和 DataFrame 利用函數做更多操作!